#ifndef HISTORYMESSAGEWIDGET_H
#define HISTORYMESSAGEWIDGET_H

#include <QDialog>
#include <QWidget>
#include <QLineEdit>
#include <QRadioButton>
#include <QDateTimeEdit>
#include <QLabel>
#include <QGridLayout>
#include "model/data.h"
using namespace model;

/*-------------------------------- 历史消息窗口 --------------------------------*/
class HistoryMessageWidget : public QDialog
{
    Q_OBJECT
public:
    HistoryMessageWidget(QWidget* parent);

    void addHistoryMessage(const Message& message);// 添加一个历史消息
    void clear(); // 清空所有的历史消息

    void clickSearchBtn();
    void clickSearchBtnDone();

private:
    // 持有所有的历史消息结果的容器对象
    QWidget* container;

    QLineEdit* searchEdit;
    QRadioButton* keyRadioBtn;
    QRadioButton* timeRadioBtn;
    QDateTimeEdit* begTimeEdit;
    QDateTimeEdit* endTimeEdit;

    void initScrollArea(QGridLayout* layout);
    QDateTimeEdit* createTimeArea();
};

/*-------------------------------- 一个历史消息元素 --------------------------------*/
class HistoryItem : public QWidget {
    Q_OBJECT
private:
    HistoryItem(){}

public:
    static HistoryItem* makeHistoryItem(const Message& message);
};



#endif // HISTORYMESSAGEWIDGET_H
